package gob.minedu.capacitacion.cxa.dao.ibatisImpl;

/**
 * @author pedro rios
 * @date 04/02/14
 */

import gob.minedu.capacitacion.cxa.bean.TallerBean;
import gob.minedu.capacitacion.cxa.bean.UsuarioBean;
import gob.minedu.capacitacion.cxa.dao.ibatis.UsuarioDAO;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.orm.ibatis.support.SqlMapClientDaoSupport;


public class UsuarioDAOMysql extends SqlMapClientDaoSupport implements UsuarioDAO {
	

	 public UsuarioBean existeUsuario(String usuario, String clave){
		 try{
			 Map mapa= new HashMap();
			 mapa.put("usuario", usuario);
			 mapa.put("clave", clave);
			 UsuarioBean obj=(UsuarioBean)getSqlMapClientTemplate().queryForObject("existeUsuario",mapa);
			 
			 if(obj == null) return null;
			 else return obj;	
			
		 }catch (Exception e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method existeUsuario()");
			return null;
		}			 	
	 }
	 

	public UsuarioBean findUsuarioById(Long idUsuario) {
		try{
			return (UsuarioBean)getSqlMapClientTemplate().queryForObject("findUsuarioById", idUsuario);
		}catch (Exception e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method findUsuarioById()");
			return null;
		}
	}


	@Override
	public List<UsuarioBean> getUsuariosActivos() {
		try{
			return (List<UsuarioBean>)getSqlMapClientTemplate().queryForList("getUsuariosActivos");
		}catch (Exception e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method getUsuariosActivos()");
			return null;
		}
	}


	@Override
	public boolean insertUsuario(UsuarioBean obj) {
		try {
			 getSqlMapClientTemplate().insert("insertUsuario",obj);	
			 return true;
		} catch (RuntimeException e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method insertUsuario()");
			return false;
		}
	}


	@Override
	public boolean updateUsuario(UsuarioBean obj) {
		try {
			 getSqlMapClientTemplate().update("updateUsuario",obj);	
			 return true;
		} catch (RuntimeException e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method updateUsuario()");
			return false;
		}
	}


	@Override
	public boolean deleteUsuario(Long idUsuario) {
		try{
			 getSqlMapClientTemplate().update("deleteUsuario",idUsuario);			
			return true;
		}catch (RuntimeException e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method deleteUsuario()");
			return false;
		}
	}


	@Override
	public UsuarioBean getUserByDni(String dni) {
		try{
			return (UsuarioBean)getSqlMapClientTemplate().queryForObject("getUserByDni", dni);
		}catch (Exception e) {
			e.printStackTrace();
			System.out.println("Error en el ibatis - method getUserByDni()");
			return null;
		}
	}




	
}
